-
Notifications
You must be signed in to change notification settings - Fork 54
Fix GCC 11 Compiler Warnings #1213
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
| std::unique_ptr<openPMD::Series> series_ptr; | ||
| { | ||
| openPMD::Series series( | ||
| "sample%T.json", openPMD::AccessType::CREATE); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We left those intentionally to test that the old type still works.
We could silence this at one last location with a local suppressor?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I was under the impression that they sneaked in because this test comes from a long-standing pull request (the bug tested by this took a long time to fix).
But we can definitely use the chance to test for existence of AccessType with this
bae466f to
2d68c79
Compare
|
PR rebased. |
2d68c79 to
62a4c4c
Compare
G++ 11 does not understand that these variables are not primitive types
and complains about possibly uninitialized values. Use the {}
constructor to fix this.
62a4c4c to
8d736b4
Compare
| } | ||
|
|
||
| (void)pv; | ||
| throw std::runtime_error("getCast: no cast possible."); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Need to put these into an else branch, ICC seems to determine unreachable statements after resolving if constexpr
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
ah classic. a range of NVCC 11 minor releases does that as well
ICC seems to resolve reachability of statements after resolving constexpr if
4904c90 to
6aba021
Compare
| */ | ||
| #if defined(__GNUC__MINOR__) || defined(__clang__) | ||
| #pragma GCC diagnostic push | ||
| #pragma GCC diagnostic ignored "-Wdeprecated-declarations" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
With this one set, you can remove -Wno-deprecated-declarations from quite a few CI scripts in .github/workflows/
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
-> #1246
| /* | ||
| * clang also understands these pragmas. | ||
| */ | ||
| #if defined(__GNUC__MINOR__) || defined(__clang__) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Typo fixed in #1255: __GNUC_MINOR__
| #if defined(__INTEL_COMPILER) | ||
| #pragma warning(disable : 2282) | ||
| #endif | ||
| #if defined(__GNUC__MINOR__) || defined(__clang__) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
same here
There was a typo in `__GNUC_MINOR__`, causing the test not to work on all GCC versions. Follow-up to openPMD#1213
There was a typo in `__GNUC_MINOR__`, causing the test not to work on all GCC versions. Follow-up to openPMD#1213
There was a typo in `__GNUC_MINOR__`, causing the test not to work on all GCC versions. Follow-up to #1213
|
I have problems applying this and the following PRs to the |
There was a typo in `__GNUC_MINOR__`, causing the test not to work on all GCC versions. Follow-up to openPMD#1213
There was a typo in `__GNUC_MINOR__`, causing the test not to work on all GCC versions. Follow-up to openPMD#1213
* Don't safeguard empty strings while reading * Update TODO Comment * Add missing update for VEC_CLONG_DOUBLE * Ignore deprecated AccessType in SerialIOTest * SerialIOTest: Fix GCC Pragma Check (openPMD#1260) There was a typo in `__GNUC_MINOR__`, causing the test not to work on all GCC versions. Follow-up to openPMD#1213 * Clearly fail when users select a wrong backend * ICC: Unreachable end of function * Fix use after free in ADIOS1IOHandler * Remove unavailable_backend_test Hard to trigger without explicit backend selection, and test coverage is present on dev anyway Co-authored-by: Axel Huebl <[email protected]>
|
Applied to |
* Improve write time
* Print warning if mpi4py is not found in openpmd-pipe
* ADIOS1: Remove task from IO queue if it fails with exception
* `setup.py`: Extra CMake Arg Control
* EMSCRIPTEN: Skip Py Extension
* g++/clang++: Add `-Wsign-compare`
* python/RecordComponent: fix `-Wsign-compare`
* Patch MSVC pybind11 bug
Improve patch comment
* Python: Do Not Strip Symbols In Debug
Avoid stripping symbols for Python debug builds, so we can see lines
in coredumps and debugger runs.
* CI: NVHPC New Apt Repo
Update the NVHPC install instructions to the latest and greatest.
Fix failing CI (dependency install).
Also upgrade to 21.11 as on Perlmutter.
* clang-format & pre-commit & python include
* run pre-commit
* ps_make_timer_name_: add memory leak suppression
* Fix: Missing HDF5 Include
This tries to fix a compile error on Maxwell (DESY).
```
/home/diederse/software/hipace_4GPU/hipace/build/_deps/fetchedopenpmd-src/src/IO/HDF5/HDF5IOHandler.cpp: In member function 'virtual void openPMD::HDF5IOHandlerImpl::readAttribute(openPMD::Writable*, openPMD::Parameter<openPMD::Operation::READ_ATT>&)':
/home/diederse/software/hipace_4GPU/hipace/build/_deps/fetchedopenpmd-src/src/IO/HDF5/HDF5IOHandler.cpp:1586:17: error: 'H5free_memory' was not declared in this scope
1586 | H5free_memory(m1);
| ^~~~~~~~~~~~~
/home/diederse/software/hipace_4GPU/hipace/build/_deps/fetchedopenpmd-src/src/IO/HDF5/HDF5IOHandler.cpp:1609:17: error: 'H5free_memory' was not declared in this scope
1609 | H5free_memory(m1);
| ^~~~~~~~~~~~~
/home/diederse/software/hipace_4GPU/hipace/build/_deps/fetchedopenpmd-src/src/IO/HDF5/HDF5IOHandler.cpp:1628:17: error: 'H5free_memory' was not declared in this scope
1628 | H5free_memory(m2);
| ^~~~~~~~~~~~~
```
* Increase reference count also in other load_chunk overload
Don't know if it is necessary, but looks like we forgot it earlier
Add comment
* Spack: Remove Old Files
* Spack: v0.17.1
* Update Env Files
* Python Iteration: Fix __repr__ (time)
Small numbers, as common for iterations, were flushed to zero
in `std::to_string(double)` of the representation of `Iteration`
variables:
```
step __repr__
100 <openPMD.Iteration at t = '0.000000 s'>
was: 8.687655225973454e-14 * 1.0
```
* CI: Update CUDA repo key
Nvidia has made changes in the signing keys.
https://forums.developer.nvidia.com/t/notice-cuda-linux-repository-key-rotation/212771
* CI: Switch to Mamba
* Doc: Update HDF5 Coll. Metadata Versions
Update the documentation about HDFFV-11260 and the newly released
fixes in release lines.
* HDF5 Coll. MD Reads: Simplify Wording
* Tiny wording improvement and a +
* Remove deprecated debug parameter in ADIOS2
* HDF5IOHandler: Clang-Format/Clang-Tidy
```
/home/runner/work/openPMD-api/openPMD-api/src/IO/HDF5/HDF5IOHandler.cpp:1835:21:
warning: repeated branch in conditional chain [bugprone-branch-clone]
isLegacyLibSplashAttr =
^
```
* `conda.yaml`: add `pre-commit`
* Fix: Python Variant Issue on Conda
* Test: Demonstrate Pattern Issue
As in #1173
* JSON: Improve File Open Error Message
Include path to file
* Upon parsing, store each iteration's filename
If the padding is inconsistent, a later Iteration::open() needs the
original filename. Trying to compute the filename from the expansion
pattern will lead to wrong filenames.
* Backport: fix-open-iteration (#5)
* Pass-through flushing parameters
* CI fixes
* Test
* Don't flush when opening an iteration
* CI fixes
* FlushLevel: Use default base class in NVC++
* clang-tidy: Define member defaults of Writable in-class
* Update include/openPMD/IO/AbstractIOHandler.hpp
Co-authored-by: Axel Huebl <[email protected]>
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* Release 0.14.5 conflicting backports (#6)
* Don't safeguard empty strings while reading
* Update TODO Comment
* Add missing update for VEC_CLONG_DOUBLE
* Ignore deprecated AccessType in SerialIOTest
* SerialIOTest: Fix GCC Pragma Check (#1260)
There was a typo in `__GNUC_MINOR__`, causing the test not to work on all GCC versions.
Follow-up to #1213
* Clearly fail when users select a wrong backend
* ICC: Unreachable end of function
* Fix use after free in ADIOS1IOHandler
* Remove unavailable_backend_test
Hard to trigger without explicit backend selection, and test coverage is
present on dev anyway
Co-authored-by: Axel Huebl <[email protected]>
* Version: 0.14.5
including Changelog
Co-authored-by: Jean Luca Bez <[email protected]>
Co-authored-by: Franz Pöschel <[email protected]>
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
g++ 11 does not understand that these variables are not primitive types
and complains about possibly uninitialized values. Use the {}
constructor to fix this.